package org.example.list;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhaoPin
 * @Date 2024/9/10  17:16
 * @description:
 */
public class FailFastTest {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("沉默王二");
        list.add("沉默王三");
        list.add("一个文章真特么有趣的程序员");

        // 正确迭代方式  iterator
        final var iterator = list.iterator();
        while (iterator.hasNext()){
            final var next = iterator.next();
            iterator.remove();
        }


        // 会抛出异常 因为调用的 list.remove 方法，会造成 modCount 修改次数+1
        for (String str : list) {
            if ("沉默王二".equals(str)) {
                list.remove(str);
            }
        }

        System.out.println(list);
    }

}
